Problem s funkci

Otázka od: Tomáš Sládek

29. 12. 2002 0:48

Dobry den,

mamo takovy problem s touto funcki:

Tpuvodni = array of string;

function UberZPole(Pole: Tpuvodni; Index: Integer): Tpuvodni;

Delam si vlastni Unitu, abych nemusel pokazde vypisovat stejne funkce a
procedury.Do teto unity chci vlozit vyse uvedenou funkci ktera ma totoznou
vstupni i vystupni promenou(Tpuvodni). Tedka ten problem, aby unita
fungovala, musim nadefinovat nejakou promenou "Tpuvodni" primo v te me unite
jinak funkce nefunguje. No ale kdyz chci funkci pouzivat ve svych
programech, tak jsem omezen tim ze vstupni a vystupni promena je uz nejak
nadeklarovana (napriklad je to Dynamicke pole obsahujici same stringy). Co
kdyz budu v budoucnu tuto funkci pouzit ne pro pole obsahujici promene tytu
String, ale napriklad pro pole obsahujici promene typu Integer. To si budu
muset vytvorit zase novou funkci ktera uz nebude mit promenou Tpuvodni ale
bude mit treba TpuvodniInteger = array of integer;. Tento zpusob je hodne
neprakticky, to si nemusim vubec vlastni unitu delat, protoze se mi timhle
nic neulehci. Proto zadam ty co vydrzeli cist az zde a pochopili o co mi
jde, nevite jestli nejde
misto promene "Tpuvodni " dat nejakou obecnou promenou, ktere budu moc
priradit jakykoli typ. Diky za kazdou radu, i kdyz si myslim ze to me nikdo
nepochopi a nic se nedozvim   S pozdravem Tomas Sladek

Odpovedá: Martin Falta

29. 12. 2002 2:25

Hello Tomáš,

pokud trvas na poli, tak si ho muzes nadeklarovat napr. takhle:
Tpuvodni = array of Variant;

ale zkus zapremyslet, zda by nebylo vhodnejsi pouzit napr. TStringList
pro stringy ci TList pro cokoli.

Saturday, December 28, 2002, 11:46:09 PM, you wrote:

TS> Dobry den,

TS> mamo takovy problem s touto funcki:

TS> Tpuvodni = array of string;

TS> function UberZPole(Pole: Tpuvodni; Index: Integer): Tpuvodni;

TS> Delam si vlastni Unitu, abych nemusel pokazde vypisovat stejne funkce a
TS> procedury.Do teto unity chci vlozit vyse uvedenou funkci ktera ma totoznou
TS> vstupni i vystupni promenou(Tpuvodni). Tedka ten problem, aby unita
TS> fungovala, musim nadefinovat nejakou promenou "Tpuvodni" primo v te me
unite
TS> jinak funkce nefunguje. No ale kdyz chci funkci pouzivat ve svych
TS> programech, tak jsem omezen tim ze vstupni a vystupni promena je uz nejak
TS> nadeklarovana (napriklad je to Dynamicke pole obsahujici same stringy). Co
TS> kdyz budu v budoucnu tuto funkci pouzit ne pro pole obsahujici promene tytu
TS> String, ale napriklad pro pole obsahujici promene typu Integer. To si budu
TS> muset vytvorit zase novou funkci ktera uz nebude mit promenou Tpuvodni ale
TS> bude mit treba TpuvodniInteger = array of integer;. Tento zpusob je hodne
TS> neprakticky, to si nemusim vubec vlastni unitu delat, protoze se mi timhle
TS> nic neulehci. Proto zadam ty co vydrzeli cist az zde a pochopili o co mi
TS> jde, nevite jestli nejde
TS> misto promene "Tpuvodni " dat nejakou obecnou promenou, ktere budu moc
TS> priradit jakykoli typ. Diky za kazdou radu, i kdyz si myslim ze to me nikdo
TS> nepochopi a nic se nedozvim   S pozdravem Tomas Sladek




--
Best regards,
 Martin mailto:martin@aprog.cz